Spread spectrum signals are used in modern communication and navigation systems. In the transmitter, spread spectrum modulation of the carrier signal spreads a narrowband baseband signal into a broadband spectrum. There are numerous advantages to using spread spectrum signal modulation with the primary advantage being the ability to detect the transmitted spread spectrum signal when the overall signal to noise ratio is significantly below unity, that is, where the noise level is much greater than the signal level. In the receiver, a replica of the same spread spectrum modulation is used to correlate with the received spread spectrum signal that results in despreading and subsequent detection of the transmitted signal. If there was a digital data message transmitted along with the spread spectrum signal, this narrowband baseband data signal remains on the carrier after despreading the spread spectrum signal. Typically, the digital data is detected by phase locking to the carrier signal, then detecting the digital data transitions when phase reversals of the carrier signal take place.
Spread spectrum signals that are generated by pseudo random noise (PRN) code generators are called non-return to zero (NRZ) signals. Even though the theoretical bandwidth of the spread signal is infinite, most of the signal energy is within the double-sided bandwidth contained between the null frequencies located symmetrically on both sides of the carrier frequency. These nulls occur at the chipping frequency of the NRZ PRN chipping rate that is the clock frequency of the code generator. For example, in the Global Positioning System (GPS) satellite navigation system, the NRZ PRN chipping rate of the military NRZ precision encrypted code or P(Y) code is 10.23 million chips per second (Mcps). Therefore, the two-sided bandwidth to the first nulls is 20.46 MHz. The chipping rate of the coarse/acquisition (C/A) code is 1.023 Mcps. Therefore, the two-sided bandwidth to the first nulls is 2.046 MHz. The peak power of the NRZ spread spectrum is located near the center frequency, that is, near the zero offset from the carrier frequency. Most of the energy of the C/A code is within the first null. The same is true for the P(Y) code.
However, there is another class of spread spectrum signals that require the peak power distribution to be off-center, that is, not near the carrier frequency. This off-center split spectrum utilizes the available power in the outer bands of the allocated spectrum bandwidth. Even though the spread spectrum signal minimizes correlation between signals at similar power levels occupying the same bandwidths, the split spectrum permits much larger signal powers in one bandwidth sector from interfering with lower signal powers in another sector of the same allocated bandwidth. To create power spectra in off-center portions of the bandwidth, a binary signal is multiplied with the NRZ signal along with the data signal and the result modulates the carrier signal. This spread spectrum signal modulation technique is called binary offset carrier (BOC) modulation. The resulting spread spectrum energy distribution of signal power symmetrically around the carrier frequency depends on the ratio between the binary signal and the chipping rate of the NRZ code generator. For example, in GPS, a new split spectrum has been introduced for use by the military called the M code. Because the lowest GPS chipping rate signal is the coarse/acquisition code or C/A code at 1.023 Mcps, the BOC notation adopted for GPS is based on integer multiples of the C/A code chipping rate. For GPS, the symbolic notation is BOC(M,N), where M is the binary signal multiple and N is the NRZ signal multiple. For the M code, the integer notation is BOC(10,5). Thus, the binary signal is 10.23 MHz and the NRZ code generator clock is 5.115 MHz. The spread spectrum that results from the M code BOC(10,5) modulation is well known. The peak power is split into two bands centered at plus and minus the binary signal frequency, that is, plus and minus 10.23 MHz from the carrier frequency. Because the chipping rate for M code is 5.115 MHz, the bandwidth of both sides of the split spectrum is 10.23 MHz.
Traditional code division multiple access (CDMA) spread spectrum systems code-tracking loops are usually based on steepest ascent algorithms. The code-tracking loop is used to align the replica code with the incoming code of the received signal. The steepest ascent algorithms work for traditional CDMA spread spectrum signals because the code autocorrelation signals are unimodal. That is, the unimodal autocorrelation function has a single peak that is tracked using the steepest ascent algorithm. As is well known, the correlation envelope of current GPS spread spectrum signals, such as C/A-code and P(Y)-code is approximately a triangle having rounded peak amplitude that corresponds to perfect correlation of the GPS receiver replica code with the received code. The extremities of the base of this envelope triangle have approximately zero amplitudes that correspond to a plus or minus 1-chip offset of the replica code with respect to the incoming code where the replica code becomes effectively uncorrelated with the received code. The modernized military M code signal is a BOC(10,5) spread spectrum signal. The Galileo navigation satellite system also plans to use BOC spread spectrum signals. The M code autocorrelation is a multimodal function of code phase error and makes demodulation and tracking difficult. For BOC signals, of which M code is a particular instance, the code autocorrelation function is multimodal. Using steepest ascent algorithms with a BOC signal would result in ambiguity because it could be tracking the wrong peak of the BOC code correlation function.
The problem occurring in a BOC signal receiver during the detection process of a BOC signal is that the correlation envelope does not result in a single or unimodal correlation peak as is the case with the NRZ signal. As a result, multiple, that is, multimodal, stable code-tracking states occur for the BOC signal. However, only the central correlation peak is the correct one. In other words, the BOC code tracking loop can be ambiguous when the code phase tracking loop locks onto an off-center peak of the multimodal correlation function. Hence, BOC code phase tracking is subject to errors when the code phase tracking locks onto an incorrect code phase when tracking an off-center peak of the correlation function.
The correlation envelope for a typical BOC signal, in this case BOC(10,5) or M code has seven correlation peaks, the center one of which is the correct correlation peak with the remaining peaks decreasing in amplitude in equal amounts from both sides of the center peak. For example, consider the output of an early minus late (E−L) code discriminator in the code-tracking loop with the nearly optimal ⅛-chip E−L correlator spacing for BOC(10,5). This E−L discriminator would output seven positive slope zero crossings corresponding to these seven correlation peaks if the replica code were shifted plus and minus one M code chip with respect to perfect alignment with the incoming M code (zero error input). Only the central discriminator output is the true one, with a tracking range of plus and minus one-sixteenth (0.0625) chip. The remaining six are also stable tracking regions of plus and minus 0.0625 chip, but are offset with respect to the true code tracking position. This ambiguity problem is caused by the multimodal BOC signal producing multiple zero crossings along the input error axis of the code loop discriminator.
The normal correlation envelope for the M code signal is a set of tapered triangles with both positive and negative peaks. Only the central positive peak corresponds to perfect correlation of the GPS receiver replica M code with the received code. The BOC signals in space provide numerous benefits, but the BOC signals create code tracking problems during signal acquisition and code tracking due to the multimodal peaks of the autocorrelation function of the BOC signal. Each of the multiple correlation peaks corresponds to signal detection during the acquisition process and to a stable code loop state during the tracking process. However, only the central peak is the correct state. In other words, the result of correlation with the BOC spread spectrum signals is ambiguous when based on tracking a peak because the BOC correlation function results in multiple peaks, the center one of which is the correct peak for use during signal acquisition and tracking. Hence, there are problems associated with the tracking of only the correct center peak of the M code correlation function because of the presence of multiple peaks of the multimodal autocorrelation function.
One method to track the ambiguous offset carrier signal is called the bump-jumping algorithm that does not continuously resolve the ambiguity problem. The bump-jumping algorithm requires the use of a very early and very late correlator. The very early correlator is typically placed one-quarter chip early with respect to the punctual or prompt correlator. The very late correlator is placed late by the same amount. The decision to “bump” is made whenever the very early correlation or the very late correlation appears to be greater than the prompt correlation. This would be the case if the prompt correlator slipped into a false correlation region. This has the disadvantage of requiring the tracking loop to actually slip into a false tracking state before this technique can decide to jump over to the next peak in a search for the correct center peak. In other words, the bump-jumping algorithm does not continuously track and correct the code loop error after that error exceeds the narrow central true tracking region. Another approach involves combining the ambiguous code discriminator output of a conventional M code delay lock loop with the output of an unambiguous code discriminator. The unambiguous discriminator is generated from the combination of the two M code sidebands each down-converted to the carrier (center) frequency. The upper sideband is converted to an NRZ code by down-converting it to the center frequency. This is accomplished by multiplying the incoming signal with a −10.23 MHz signal. Likewise, the lower sideband is up-converted by multiplying with a +10.23 MHz signal. Each NRZ signal is separately filtered, then correlated with wide (1-chip) early and late correlators derived from the replica NRZ code generator. The envelopes of the two early components are combined and the two late component envelopes are combined, then processed through an E−L discriminator. However, this implementation is complicated. These and other disadvantages are solved or reduced using the invention.